#include "common.hpp"
#include "log.hpp"
// 管理管道文件
int main()
{
	Init init;
	Log log;
	log.Enable(OneFile);
	// server端会等待client打开文件之后，自己才会打开文件，向后执行, open要阻塞了
	int fd = open(FIFO_FILE, O_RDONLY); // 打开管道
	if (fd < 0)
	{
		log(Fatal, "error string: %s, error code: %d", strerror(errno), errno);
		exit(FIFO_OPEN_ERR);
	}

	// cout << "server open done" << endl;
	log(Info, "server open done, error string: %s, error code: %d", strerror(errno), errno);
	log(Warning, "server open done, error string: %s, error code: %d", strerror(errno), errno);
	log(Error, "server open done, error string: %s, error code: %d", strerror(errno), errno);
	log(Fatal, "server open done, error string: %s, error code: %d", strerror(errno), errno);

	while (true) // 开始通信
	{
		char buffer[1024] = {0};
		int x = read(fd, buffer, sizeof(buffer));
		if (x > 0)
		{
			buffer[x] = 0;
			cout << "client say: " << buffer << endl;
		}
		else if (x == 0)
		{
			cout << "client quit, me too" << endl;
			log(Debug, "client quit, me too, error string: %s, error code: %d", strerror(errno), errno);
			break;
		}
		else
			break;
	}

	close(fd);

	return 0;
}